package co.edu.usbcali.parcial3.control;

import co.edu.usbcali.parcial3.Factura;

import java.math.BigDecimal;

import java.util.*;


/**
 * interface FacturaLogic
 * @author Zathura Code Generator http://code.google.com/p/zathura
 *
 */
public interface IFacturaLogic {
    public List<Factura> getFactura() throws Exception;

    public void saveFactura(Date factFechaEmision, Date factFechaLimite,
        String factNumero, Long factValor, String usuCodigo_Usuario)
        throws Exception;

    public void deleteFactura(String factNumero) throws Exception;

    public void updateFactura(Date factFechaEmision, Date factFechaLimite,
        String factNumero, Long factValor, String usuCodigo_Usuario)
        throws Exception;

    public Factura getFactura(String factNumero) throws Exception;

    public List<Factura> findByCriteria(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Factura> findPageFactura(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberFactura() throws Exception;
    
    public List<Factura> getFacturaPorPagar(String codigo) throws Exception;
}
